/* 
 * File:   main.cpp
 * Author: jonk
 *
 * Created on 22 de noviembre de 2011, 18:17
 */

#include <cstdlib>
#include <fstream>
#include <iostream>
#include <string.h>
#include <iomanip>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include<iomanip>
#include <sstream>

#define pi 3.1415926535898
#define CONFINED

using namespace std;

#include "objetos.h"
#include "mthParticulas.h"
#include "conectividad.h"
#include "openFiles.h"

/*
 * 
 */
int main(int argc, char** argv) {
    void importBinary(ifstream *filein, particula *part, parametros * param);
    /*Parametros*/
    parametros param;
    /*Particulas*/
    particula *part = new particula[1000];
    /*Abrimos archivo de salida de probabilidad de angulo de enlace*/
    ofstream fileout("conectividad.dat", ios::out);
    /*Abrimos archivo de salida de conectividades horizontal y vertical*/
    ofstream fileout2("conHV.dat", ios::out);
    /*Abrimos fichero de entrada*/
    ifstream MiArchivo("/home/jcfernandez/remote/rperi76/simulaciones/eps1T0.1/u0/AMPL/W2.0/A0.05/config.bin", ios::in | ios::binary);
    /*Distancia de contacto*/
    double rcontact=1.05;
    /*Conteo del numero de configuraciones*/
    int nconf = 0;
    /*Numero de puntos en el histograma*/
    int nbins = 100;
    /*Conectividades horizontales y verticales*/
    double cH, cV;
    
    double *hist = new double[nbins];

    if (MiArchivo.fail())
    {
        cout << "No se pudo encontrar el archivo config.dat " << endl;
        exit(1);
    }
    if (MiArchivo.is_open())
    {
//        while (!MiArchivo.eof())
//        {
            /*Importamos la configuracion*/
            importBinary(&MiArchivo, part, &param);
            /*Calculamos la conectividad*/
            conectividad(part, param, rcontact, nbins, hist, &cH, &cV);
            
            /*Imprimimos los resultados*/
            fileout<<param.t<<"  ";
            //x=180.0/double(nbins)*double(i);
            for(int i=0;i<nbins;i++) fileout<<hist[i]<<"  ";
            fileout<<endl;
            fileout2 << param.t << "  " <<cH << "  " << cV << endl;
            nconf++;
//        }
        MiArchivo.close();
    }
    
    delete []part;
    delete []hist;
    fileout.close();
    fileout2.close();
    return 0;
}

